<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>搜索功能测试报告</title>
    <meta name="generator" content="HTMLTestRunner 0.8.2.2"/>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
    <link href="http://libs.baidu.com/bootstrap/3.0.3/css/bootstrap.min.css" rel="stylesheet">
    <script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
    <script src="http://libs.baidu.com/bootstrap/3.0.3/js/bootstrap.min.js"></script>
    
<style type="text/css" media="screen">
body        { font-family: Microsoft YaHei,Tahoma,arial,helvetica,sans-serif;padding: 20px; font-size: 80%; }
table       { font-size: 100%; }

/* -- heading ---------------------------------------------------------------------- */
.heading {
    margin-top: 0ex;
    margin-bottom: 1ex;
}

.heading .description {
    margin-top: 4ex;
    margin-bottom: 6ex;
}

/* -- report ------------------------------------------------------------------------ */
#total_row  { font-weight: bold; }
.passCase   { color: #5cb85c; }
.failCase   { color: #d9534f; font-weight: bold; }
.errorCase  { color: #f0ad4e; font-weight: bold; }
.hiddenRow  { display: none; }
.testcase   { margin-left: 2em; }
</style>

</head>
<body >
<script language="javascript" type="text/javascript">
output_list = Array();

/*level 调整增加只显示通过用例的分类 --Findyou
0:Summary //all hiddenRow
1:Failed  //pt hiddenRow, ft none
2:Pass    //pt none, ft hiddenRow
3:All     //pt none, ft none
*/
function showCase(level) {
    trs = document.getElementsByTagName("tr");
    for (var i = 0; i < trs.length; i++) {
        tr = trs[i];
        id = tr.id;
        if (id.substr(0,2) == 'ft') {
            if (level == 2 || level == 0 ) {
                tr.className = 'hiddenRow';
            }
            else {
                tr.className = '';
            }
        }
        if (id.substr(0,2) == 'pt') {
            if (level < 2) {
                tr.className = 'hiddenRow';
            }
            else {
                tr.className = '';
            }
        }
    }

    //加入【详细】切换文字变化 --Findyou
    detail_class=document.getElementsByClassName('detail');
	//console.log(detail_class.length)
	if (level == 3) {
		for (var i = 0; i < detail_class.length; i++){
			detail_class[i].innerHTML="收起"
		}
	}
	else{
			for (var i = 0; i < detail_class.length; i++){
			detail_class[i].innerHTML="详细"
		}
	}
}

function showClassDetail(cid, count) {
    var id_list = Array(count);
    var toHide = 1;
    for (var i = 0; i < count; i++) {
        //ID修改 点 为 下划线 -Findyou
        tid0 = 't' + cid.substr(1) + '_' + (i+1);
        tid = 'f' + tid0;
        tr = document.getElementById(tid);
        if (!tr) {
            tid = 'p' + tid0;
            tr = document.getElementById(tid);
        }
        id_list[i] = tid;
        if (tr.className) {
            toHide = 0;
        }
    }
    for (var i = 0; i < count; i++) {
        tid = id_list[i];
        //修改点击无法收起的BUG，加入【详细】切换文字变化 --Findyou
        if (toHide) {
            document.getElementById(tid).className = 'hiddenRow';
            document.getElementById(cid).innerText = "详细"
        }
        else {
            document.getElementById(tid).className = '';
            document.getElementById(cid).innerText = "收起"
        }
    }
}

function html_escape(s) {
    s = s.replace(/&/g,'&amp;');
    s = s.replace(/</g,'&lt;');
    s = s.replace(/>/g,'&gt;');
    return s;
}
</script>
<div class='heading'>
<h1 style="font-family: Microsoft YaHei">搜索功能测试报告</h1>
<p class='attribute'><strong>测试人员 : </strong> hanzilong</p>
<p class='attribute'><strong>开始时间 : </strong> 2018-06-09 20:46:44</p>
<p class='attribute'><strong>合计耗时 : </strong> 0:00:00.859049</p>
<p class='attribute'><strong>测试结果 : </strong> 共 5，通过 1，失败 2，错误 2，通过率= 20.00%</p>

<p class='description'>用例执行情况：</p>
</div>



<p id='show_detail_line'>
<a class="btn btn-primary" href='javascript:showCase(0)'>概要{ 20.00% }</a>
<a class="btn btn-danger" href='javascript:showCase(1)'>失败{ 2 }</a>
<a class="btn btn-success" href='javascript:showCase(2)'>通过{ 1 }</a>
<a class="btn btn-info" href='javascript:showCase(3)'>所有{ 5 }</a>
</p>
<table id='result_table' class="table table-condensed table-bordered table-hover">
<colgroup>
<col align='left' />
<col align='right' />
<col align='right' />
<col align='right' />
<col align='right' />
<col align='right' />
</colgroup>
<tr id='header_row' class="text-center success" style="font-weight: bold;font-size: 14px;">
    <td>用例集/测试用例</td>
    <td>总计</td>
    <td>通过</td>
    <td>失败</td>
    <td>错误</td>
    <td>详细</td>
</tr>

<tr class='errorClass warning'>
    <td>MyTest: 搜索功能</td>
    <td class="text-center">5</td>
    <td class="text-center">1</td>
    <td class="text-center">2</td>
    <td class="text-center">2</td>
    <td class="text-center"><a href="javascript:showClassDetail('c1',5)" class="detail" id='c1'>详细</a></td>
</tr>

<tr id='pt1_1' class='hiddenRow'>
    <td class='passCase'><div class='testcase'>test_api_1</div></td>
    <td colspan='5' align='center'>
    <!--默认收起错误信息 -Findyou
    <button id='btn_pt1_1' type="button"  class="btn btn-danger btn-xs collapsed" data-toggle="collapse" data-target='#div_pt1_1'>通过</button>
    <div id='div_pt1_1' class="collapse">  -->

    <!-- 默认展开错误信息 -Findyou -->
    <button id='btn_pt1_1' type="button"  class="btn btn-danger btn-xs" data-toggle="collapse" data-target='#div_pt1_1'>通过</button>
    <div id='div_pt1_1' class="collapse in">
    <pre>
    
pt1_1: 开始执行测试用例
2018-06-09 20:46:44,112 log.py [line:28] INFO: 输入参数：url:http://www.tuling123.com/openapi/api,key:dfeb1cc8125943d29764a2f2f5c33739,参数:{'password':'1222'},请求方式：POST_FORM
2018-06-09 20:46:44,406 log.py [line:28] INFO: 结果返回码200
测试用例执行完毕


    </pre>
    </div>
    </td>
</tr>

<tr id='ft1_2' class='none'>
    <td class='failCase'><div class='testcase'>test_api_2</div></td>
    <td colspan='5' align='center'>
    <!--默认收起错误信息 -Findyou
    <button id='btn_ft1_2' type="button"  class="btn btn-danger btn-xs collapsed" data-toggle="collapse" data-target='#div_ft1_2'>失败</button>
    <div id='div_ft1_2' class="collapse">  -->

    <!-- 默认展开错误信息 -Findyou -->
    <button id='btn_ft1_2' type="button"  class="btn btn-danger btn-xs" data-toggle="collapse" data-target='#div_ft1_2'>失败</button>
    <div id='div_ft1_2' class="collapse in">
    <pre>
    
ft1_2: 开始执行测试用例
2018-06-09 20:46:44,409 log.py [line:28] INFO: 输入参数：url:http://www.tuling123.com/openapi/api
,key:dfeb1cc8125943d29764a2f2f5c33739,参数:{'password':'1222'},请求方式：POST_JSON
2018-06-09 20:46:44,715 log.py [line:28] INFO: 结果返回码200
测试用例执行完毕
Traceback (most recent call last):
  File "C:\ProgramData\Anaconda3\lib\site-packages\ddt.py", line 144, in wrapper
    return func(self, *args, **kwargs)
  File "runner.py", line 27, in test_api
    self.assertEqual(apijson,qingwang,msg="预期和实际的不一致")
AssertionError: 200 != 40002.0 : 预期和实际的不一致


    </pre>
    </div>
    </td>
</tr>

<tr id='ft1_3' class='none'>
    <td class='failCase'><div class='testcase'>test_api_3</div></td>
    <td colspan='5' align='center'>
    <!--默认收起错误信息 -Findyou
    <button id='btn_ft1_3' type="button"  class="btn btn-danger btn-xs collapsed" data-toggle="collapse" data-target='#div_ft1_3'>失败</button>
    <div id='div_ft1_3' class="collapse">  -->

    <!-- 默认展开错误信息 -Findyou -->
    <button id='btn_ft1_3' type="button"  class="btn btn-danger btn-xs" data-toggle="collapse" data-target='#div_ft1_3'>失败</button>
    <div id='div_ft1_3' class="collapse in">
    <pre>
    
ft1_3: 开始执行测试用例
2018-06-09 20:46:44,722 log.py [line:28] INFO: 输入参数：url:https://api.douban.com/v2/photo/:id,key:dfeb1cc8125943d29764a2f2f5c33739,参数:{'password':'1222'},请求方式：GET
2018-06-09 20:46:44,958 log.py [line:28] INFO: 结果返回码404
测试用例执行完毕
Traceback (most recent call last):
  File "C:\ProgramData\Anaconda3\lib\site-packages\ddt.py", line 144, in wrapper
    return func(self, *args, **kwargs)
  File "runner.py", line 27, in test_api
    self.assertEqual(apijson,qingwang,msg="预期和实际的不一致")
AssertionError: 404 != '' : 预期和实际的不一致


    </pre>
    </div>
    </td>
</tr>

<tr id='ft1_4' class='none'>
    <td class='errorCase'><div class='testcase'>test_api_4</div></td>
    <td colspan='5' align='center'>
    <!--默认收起错误信息 -Findyou
    <button id='btn_ft1_4' type="button"  class="btn btn-danger btn-xs collapsed" data-toggle="collapse" data-target='#div_ft1_4'>错误</button>
    <div id='div_ft1_4' class="collapse">  -->

    <!-- 默认展开错误信息 -Findyou -->
    <button id='btn_ft1_4' type="button"  class="btn btn-danger btn-xs" data-toggle="collapse" data-target='#div_ft1_4'>错误</button>
    <div id='div_ft1_4' class="collapse in">
    <pre>
    
ft1_4: 开始执行测试用例
2018-06-09 20:46:44,962 log.py [line:28] INFO: 输入参数：url:https://api.douban.com/v2/photo/:id,key:dfeb1cc8125943d29764a2f2f5c33739,参数:{'password':'1222'},请求方式：POST
请求不通过,请检查case用例配置
测试用例执行完毕
Traceback (most recent call last):
  File "C:\ProgramData\Anaconda3\lib\site-packages\ddt.py", line 144, in wrapper
    return func(self, *args, **kwargs)
  File "runner.py", line 24, in test_api
    apijson = api.getJson()
  File "F:\untitled7\public\test_assert.py", line 33, in getJson
    json_data = self.testapi()
  File "F:\untitled7\public\test_assert.py", line 31, in testapi
    return response
UnboundLocalError: local variable 'response' referenced before assignment


    </pre>
    </div>
    </td>
</tr>

<tr id='ft1_5' class='none'>
    <td class='errorCase'><div class='testcase'>test_api_5</div></td>
    <td colspan='5' align='center'>
    <!--默认收起错误信息 -Findyou
    <button id='btn_ft1_5' type="button"  class="btn btn-danger btn-xs collapsed" data-toggle="collapse" data-target='#div_ft1_5'>错误</button>
    <div id='div_ft1_5' class="collapse">  -->

    <!-- 默认展开错误信息 -Findyou -->
    <button id='btn_ft1_5' type="button"  class="btn btn-danger btn-xs" data-toggle="collapse" data-target='#div_ft1_5'>错误</button>
    <div id='div_ft1_5' class="collapse in">
    <pre>
    
ft1_5: 开始执行测试用例
2018-06-09 20:46:44,967 log.py [line:28] INFO: 输入参数：url:https://api.douban.com/v2/photo/:id,key:dfeb1cc8125943d29764a2f2f5c33739,参数:{'password':'1222'},请求方式：
请求不通过,请检查case用例配置
测试用例执行完毕
Traceback (most recent call last):
  File "C:\ProgramData\Anaconda3\lib\site-packages\ddt.py", line 144, in wrapper
    return func(self, *args, **kwargs)
  File "runner.py", line 24, in test_api
    apijson = api.getJson()
  File "F:\untitled7\public\test_assert.py", line 33, in getJson
    json_data = self.testapi()
  File "F:\untitled7\public\test_assert.py", line 31, in testapi
    return response
UnboundLocalError: local variable 'response' referenced before assignment


    </pre>
    </div>
    </td>
</tr>

<tr id='total_row' class="text-center active">
    <td>总计</td>
    <td>5</td>
    <td>1</td>
    <td>2</td>
    <td>2</td>
    <td>通过率：20.00%</td>
</tr>
</table>

<div id='ending'>&nbsp;</div>
    <div style=" position:fixed;right:50px; bottom:30px; width:20px; height:20px;cursor:pointer">
    <a href="#"><span class="glyphicon glyphicon-eject" style = "font-size:30px;" aria-hidden="true">
    </span></a></div>
    

</body>
</html>
